/*
	This file is part of AVRCppLib.

    AVRCppLib is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    AVRCppLib is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with AVRCppLib.  If not, see <http://www.gnu.org/licenses/>.

    Copyright (C) Maxime Lemonnier 2007-2011
 */

#ifndef TimerWaveGenerationModes_H_
#define TimerWaveGenerationModes_H_


namespace Timers {

namespace WaveGenerationModes
{
	/*!
	 * Wave generation modes
	 * @see \a CompareMode
	 */
	enum WaveGenerationMode2bits{
		NORMAL_COMPARE_MODE_BEHAVIOUR = 0x00, 	//!< @see \a CompareMode
		PWM_PHASE_CORRECT = 0x01,				//!< @see \a CompareMode
		CLEAR_TIMER_ON_COMPARE_MATCH = 0x02,	//!< @deprecated same as NORMAL_COMPARE_MODE_BEHAVIOUR
		PWM_FAST = 0x03                        	//!< @see \a CompareMode
	};

	enum WaveGenerationMode3bits{
//TODO
	};

	enum WaveGenerationMode4bits{
//TODO
	};

}

}  // namespace TimerV3
#endif /* TimerWaveGenerationModes_H_ */
